package moj_pakiet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;


public class Stanowisko {
	public int idStanowiska;
	public String nazwaStanowiska;
	public double minPensja;
	
	public Stanowisko(){}
	public Stanowisko(int idStanowiska, String nazwaStanowiska, double minPensja){
		this.idStanowiska=idStanowiska;
		this.nazwaStanowiska=nazwaStanowiska;
		this.minPensja=minPensja;
	}
	
	public boolean pobierzDaneStanowiskaPoId(int idStanowiska) throws SQLException{	
		String nazwabazy="baza.db";
		Connection polaczenie=null;
		 java.sql.Statement statement = null;
		try {
	         Context ctx = new InitialContext();
	         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/baza");
	         polaczenie = ds.getConnection();
	         statement = polaczenie.createStatement();
	        
	   } catch (SQLException se) {
	      // se.toString());
	   } catch (NamingException ne) {
	      //   LOG.info(ne.toString());
	   }
	 try {
		statement.setQueryTimeout(30);
	} catch (SQLException e) {
		e.printStackTrace();
		return false;
	}
	     
	ResultSet wynik = null;
	try {
		wynik = statement.executeQuery("select * from stanowiska where idStanowiska="+this.idStanowiska);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

	this.idStanowiska= wynik.getInt("idStanowiska");
	this.nazwaStanowiska= wynik.getString("nazwaStanowiska");
	this.minPensja= wynik.getDouble("minPensja");

	polaczenie.close();
		
		return true;
	}
	
	public boolean stanowiskoDodajDoBazy() throws SQLException{
		String nazwabazy="baza.db";
		Connection polaczenie=null;
		 java.sql.Statement statement = null;
		try {
	         Context ctx = new InitialContext();
	         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/baza");
	         polaczenie = ds.getConnection();
	         statement = polaczenie.createStatement();
	        
	   } catch (SQLException se) {
	      // se.toString());
	   } catch (NamingException ne) {
	      //   LOG.info(ne.toString());
	   }
		statement.executeUpdate("INSERT INTO stanowiska VALUES ('"+this.idStanowiska+"','"
							+this.nazwaStanowiska+"','"+this.minPensja+"' );");
		
		polaczenie.close();
		return true;
	}
	public boolean stanowiskoUsunZBazy() throws SQLException{
		String nazwabazy="baza.db";
		Connection polaczenie=null;
		 java.sql.Statement statement = null;
		try {
	         Context ctx = new InitialContext();
	         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/baza");
	         polaczenie = ds.getConnection();
	         statement = polaczenie.createStatement();
	        
	   } catch (SQLException se) {
	      // se.toString());
	   } catch (NamingException ne) {
	      //   LOG.info(ne.toString());
	   }
		statement.executeUpdate("DELETE FROM stanowiska where idStanowiska="+this.idStanowiska);

		polaczenie.close();
		return true;
	}
	public boolean stanowiskoZmienWBazie() throws SQLException{
		String nazwabazy="baza.db";
		Connection polaczenie=null;
		 java.sql.Statement statement = null;
		try {
	         Context ctx = new InitialContext();
	         DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/baza");
	         polaczenie = ds.getConnection();
	         statement = polaczenie.createStatement();
	        
	   } catch (SQLException se) {
	      // se.toString());
	   } catch (NamingException ne) {
	      //   LOG.info(ne.toString());
	   }
		statement.executeUpdate("update stanowiska set nazwaStanowiska='"+this.nazwaStanowiska +
				"',minPensja='"+ this.minPensja+
				"' where idStanowiska='"+this.idStanowiska+"'" );

		polaczenie.close();
		return true;
	}
	
}
